using System;

namespace ICSharpCode.SharpZipLib.Tar
{

    /// <summary>
    /// This exception is used to indicate that there is a problem
    /// with a TAR archive header.
    /// </summary>
    [Serializable]
    public class InvalidHeaderException : TarException
    {
        /// <summary>
        /// Deserialization constructor 
        /// </summary>
        /// <param name="information"><see cref="SerializationInfo"/> for this constructor</param>
        /// <param name="context"><see cref="StreamingContext"/> for this constructor</param>
        protected InvalidHeaderException(System.Runtime.Serialization.SerializationInfo information, System.Runtime.Serialization.StreamingContext context)
            : base(information, context)
        {

        }

        /// <summary>
        /// Initialise a new instance of the InvalidHeaderException class.
        /// </summary>
        public InvalidHeaderException()
        {
        }

        /// <summary>
        /// Initialises a new instance of the InvalidHeaderException class with a specified message.
        /// </summary>
        /// <param name="message">Message describing the exception cause.</param>
        public InvalidHeaderException(string message)
            : base(message)
        {
        }

        /// <summary>
        /// Initialise a new instance of InvalidHeaderException
        /// </summary>
        /// <param name="message">Message describing the problem.</param>
        /// <param name="exception">The exception that is the cause of the current exception.</param>
        public InvalidHeaderException(string message, Exception exception)
            : base(message, exception)
        {

        }
    }
}

